package com.gxa.modules.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gxa.common.base.RespResult;
import com.gxa.modules.dto.OrderFileVo;
import com.gxa.modules.dto.OrderInsertDTO;
import com.gxa.modules.dto.OrderPageDTO;
import com.gxa.modules.entity.CrmFinancial;
import com.gxa.modules.entity.CrmOrder;
import com.gxa.modules.entity.CrmOrderGoods;
import com.gxa.modules.entity.CrmOrderState;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * Create with IntelliJ IDEA.
 * Description:
 * User: ZY
 * Date: 2023-03-23
 * Time: 16:21
 */
public interface OrderService {
    RespResult findOrderListByCondition(Integer currentPagecurrentPage,Integer pageSize,String timeSlot,String condition);

    RespResult findOrderList(Integer currentPagecurrentPage, Integer pageSize, String timeSlot);

    RespResult findOrderListByCustomer(Integer customerId);

    RespResult findOrderListById(Integer orderId);

    RespResult findOrderListByOrderConditions(OrderPageDTO orderPageDTO);

    RespResult updateOrderStateById( CrmOrderState crmOrderState);

    RespResult addOrderGoodsById(CrmOrderGoods crmOrderGoods);

    RespResult updateOrderGoodsById(CrmOrderGoods crmOrderGoods);

    RespResult updatedReceiverById(Integer orderId,BigDecimal received);

    RespResult addOrder(OrderInsertDTO crmOrder);

    RespResult updateOrderById(OrderInsertDTO crmOrder);

    List<OrderFileVo> listPage(Map<String, Object> queryCondition, Integer pageNo, Integer pageSize);
}
